package models;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.Text;

@PersistenceCapable
public class Software implements Serializable {
	@PrimaryKey
	@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
	private Key key;
	@Persistent
	private String trackCensoredName = "";
	@Persistent
	private String artworkUrl60 = "";
	@Persistent
	private ArrayList<String> genres = new ArrayList<String>();
	@Persistent
	private String wrapperType = "";
	@Persistent
	private String trackName = "";
	@Persistent
	private String kind = "";
	@Persistent
	private String version = "";
	@Persistent
	private String currency = "";
	@Persistent
	private String sellerUrl = "";
	@Persistent
	private Text releaseNotes = new Text("");
	@Persistent
	private String releaseDate = "";
	@Persistent
	private Boolean isGameCenterEnabled = false;
	@Persistent
	private int artistId = 0;
	@Persistent
	private Text description = new Text("");
	@Persistent
	private Float averageUserRating = new Float("0");
	@Persistent
	private ArrayList<String> features = new ArrayList<String>();
	@Persistent
	private int primaryGenreId = 0;
	@Persistent
	private String contentAdvisoryRating = "";
	@Persistent
	private ArrayList<String> genreIds = new ArrayList<String>();
	@Persistent
	private int userRatingCountForCurrentVersion = 0;
	@Persistent
	private ArrayList<String> screenshotUrls = new ArrayList<String>();
	@Persistent
	private int trackId; //Itunes ID
	@Persistent
	private String trackContentRating = "";
	@Persistent
	private String artworkUrl512 = "";
	@Persistent
	private String userRatingCount = "";
	@Persistent
	private ArrayList<String> languageCodesISO2A = new ArrayList<String>();
	@Persistent
	private String primaryGenreName = "";
	@Persistent
	private String sellerName = "";
	@Persistent
	private String supportedDevices = "";
	@Persistent
	private Float price = new Float("0");
	@Persistent
	private String artistViewUrl = "";
	@Persistent
	private String bundleId = "";
	@Persistent
	private String artworkUrl100 = "";
	@Persistent
	private String artistName = "";
	@Persistent
	private Float averageUserRatingForCurrentVersion = new Float("0");
	@Persistent
	private int fileSizeBytes = 0;
	@Persistent
	private String trackViewUrl = "";
	@Persistent
	private ArrayList<String> ipadScreenshotUrls = new ArrayList<String>();
	@Persistent
	private Date updated = new Date();
	@Persistent
	private String category = "";
	
	public Key getKey() {
		return key;
	}
	public void setKey(Key key) {
		this.key = key;
	}
	public String getTrackCensoredName() {
		return trackCensoredName;
	}
	public void setTrackCensoredName(String trackCensoredName) {
		this.trackCensoredName = trackCensoredName;
	}
	public String getArtworkUrl60() {
		return artworkUrl60;
	}
	public void setArtworkUrl60(String artworkUrl60) {
		this.artworkUrl60 = artworkUrl60;
	}
	public ArrayList<String> getGenres() {
		return genres;
	}
	public void setGenres(ArrayList<String> genres) {
		this.genres = genres;
	}
	public String getWrapperType() {
		return wrapperType;
	}
	public void setWrapperType(String wrapperType) {
		this.wrapperType = wrapperType;
	}
	public String getTrackName() {
		return trackName;
	}
	public void setTrackName(String trackName) {
		this.trackName = trackName;
	}
	public String getKind() {
		return kind;
	}
	public void setKind(String kind) {
		this.kind = kind;
	}
	public String getVersion() {
		return version;
	}
	public void setVersion(String version) {
		this.version = version;
	}
	public String getCurrency() {
		return currency;
	}
	public void setCurrency(String currency) {
		this.currency = currency;
	}
	public String getSellerUrl() {
		return sellerUrl;
	}
	public void setSellerUrl(String sellerUrl) {
		this.sellerUrl = sellerUrl;
	}
	public Text getReleaseNotes() {
		return releaseNotes;
	}
	public void setReleaseNotes(Text releaseNotes) {
		this.releaseNotes = releaseNotes;
	}
	public String getReleaseDate() {
		return releaseDate;
	}
	public void setReleaseDate(String releaseDate) {
		this.releaseDate = releaseDate;
	}
	public Boolean getIsGameCenterEnabled() {
		return isGameCenterEnabled;
	}
	public void setIsGameCenterEnabled(Boolean isGameCenterEnabled) {
		this.isGameCenterEnabled = isGameCenterEnabled;
	}
	public int getArtistId() {
		return artistId;
	}
	public void setArtistId(int artistId) {
		this.artistId = artistId;
	}
	public Text getDescription() {
		return description;
	}
	public void setDescription(Text description) {
		this.description = description;
	}
	public Float getAverageUserRating() {
		return averageUserRating;
	}
	public void setAverageUserRating(Float averageUserRating) {
		this.averageUserRating = averageUserRating;
	}
	public ArrayList<String> getFeatures() {
		return features;
	}
	public void setFeatures(ArrayList<String> features) {
		this.features = features;
	}
	public int getPrimaryGenreId() {
		return primaryGenreId;
	}
	public void setPrimaryGenreId(int primaryGenreId) {
		this.primaryGenreId = primaryGenreId;
	}
	public String getContentAdvisoryRating() {
		return contentAdvisoryRating;
	}
	public void setContentAdvisoryRating(String contentAdvisoryRating) {
		this.contentAdvisoryRating = contentAdvisoryRating;
	}
	public ArrayList<String> getGenreIds() {
		return genreIds;
	}
	public void setGenreIds(ArrayList<String> genreIds) {
		this.genreIds = genreIds;
	}
	public int getUserRatingCountForCurrentVersion() {
		return userRatingCountForCurrentVersion;
	}
	public void setUserRatingCountForCurrentVersion(
			int userRatingCountForCurrentVersion) {
		this.userRatingCountForCurrentVersion = userRatingCountForCurrentVersion;
	}
	public ArrayList<String> getScreenshotUrls() {
		return screenshotUrls;
	}
	public void setScreenshotUrls(ArrayList<String> screenshotUrls) {
		this.screenshotUrls = screenshotUrls;
	}
	public int getTrackId() {
		return trackId;
	}
	public void setTrackId(int trackId) {
		this.trackId = trackId;
	}
	public String getTrackContentRating() {
		return trackContentRating;
	}
	public void setTrackContentRating(String trackContentRating) {
		this.trackContentRating = trackContentRating;
	}
	public String getArtworkUrl512() {
		return artworkUrl512;
	}
	public void setArtworkUrl512(String artworkUrl512) {
		this.artworkUrl512 = artworkUrl512;
	}
	public String getUserRatingCount() {
		return userRatingCount;
	}
	public void setUserRatingCount(String userRatingCount) {
		this.userRatingCount = userRatingCount;
	}
	public ArrayList<String> getLanguageCodesISO2A() {
		return languageCodesISO2A;
	}
	public void setLanguageCodesISO2A(ArrayList<String> languageCodesISO2A) {
		this.languageCodesISO2A = languageCodesISO2A;
	}
	public String getPrimaryGenreName() {
		return primaryGenreName;
	}
	public void setPrimaryGenreName(String primaryGenreName) {
		this.primaryGenreName = primaryGenreName;
	}
	public String getSellerName() {
		return sellerName;
	}
	public void setSellerName(String sellerName) {
		this.sellerName = sellerName;
	}
	public String getSupportedDevices() {
		return supportedDevices;
	}
	public void setSupportedDevices(String supportedDevices) {
		this.supportedDevices = supportedDevices;
	}
	public Float getPrice() {
		return price;
	}
	public void setPrice(Float price) {
		this.price = price;
	}
	public String getArtistViewUrl() {
		return artistViewUrl;
	}
	public void setArtistViewUrl(String artistViewUrl) {
		this.artistViewUrl = artistViewUrl;
	}
	public String getBundleId() {
		return bundleId;
	}
	public void setBundleId(String bundleId) {
		this.bundleId = bundleId;
	}
	public String getArtworkUrl100() {
		return artworkUrl100;
	}
	public void setArtworkUrl100(String artworkUrl100) {
		this.artworkUrl100 = artworkUrl100;
	}
	public String getArtistName() {
		return artistName;
	}
	public void setArtistName(String artistName) {
		this.artistName = artistName;
	}
	public Float getAverageUserRatingForCurrentVersion() {
		return averageUserRatingForCurrentVersion;
	}
	public void setAverageUserRatingForCurrentVersion(
			Float averageUserRatingForCurrentVersion) {
		this.averageUserRatingForCurrentVersion = averageUserRatingForCurrentVersion;
	}
	public int getFileSizeBytes() {
		return fileSizeBytes;
	}
	public void setFileSizeBytes(int fileSizeBytes) {
		this.fileSizeBytes = fileSizeBytes;
	}
	public String getTrackViewUrl() {
		return trackViewUrl;
	}
	public void setTrackViewUrl(String trackViewUrl) {
		this.trackViewUrl = trackViewUrl;
	}
	public ArrayList<String> getIpadScreenshotUrls() {
		return ipadScreenshotUrls;
	}
	public void setIpadScreenshotUrls(ArrayList<String> ipadScreenshotUrls) {
		this.ipadScreenshotUrls = ipadScreenshotUrls;
	}
	public Date getUpdated() {
		return updated;
	}
	public void setUpdated(Date updated) {
		this.updated = updated;
	}
	public String getCategory() {
		return category;
	}
	public void setCategory(String category) {
		this.category = category;
	}
	
}

